[DelPhi7]动态创建N个窗体后,我如何控制它们

来源:百度知道 编辑:UC知道 时间:2024/06/06 23:33:42
我写的程序:
主窗体:Main
副窗体:chat
我在主窗体中用with TChatFrm.Create(ChatFrm) do打开了多个Chat窗体。
这些窗体名全部重命名了。如 chat1 chat2 chat3 chat4
这样的话,我在主窗体中如何给其中一个窗体传值,如:chat2窗体
如在主窗体中:chat2.edit1.text:='abc';
这样当然是不行的,因为程序刚运行时,chat2是不存在的,所以会出错。
到底应该怎么做?
一定要先建成窗体后,我调用创建成功的窗体里的功能,或改里面的东西.

1
with TChatFrm.Create(self) do
begin
edit1.text := 'abc';
show;
end;
2
var
Chat1, Chat2, Chat3: TChatFrm;
begin
Chat1 := TChatFrm.Create(self);
Chat1.Edit1.Text := 'abc';
Chat1.Show;
end;

刚运行时你就要传值吗? 一个小建议请参考:

做一个Timer, 在启动后在Timer里传值, 这样窗体已创建, chat2就存在了。

刚运行就传值肯定会出错
那就在创建以后传了.
不可能明知道错也继续做吧

不可以在创建窗体的时候同时进行chat2.edit1.text:='abc'语句吗?